Базовая защита от атак типа «brute force»
2025-12-19
Цель: Получить навыки работы с Fail2ban для защиты от атак «brute force».
Задачи: - Установить и настроить Fail2ban для мониторинга служб - Проверить работу через тестирование SSH-аутентификации - Автоматизировать настройку через скрипт Vagrant
Установка и запуск службы Fail2ban
Начальная конфигурация: - Установка пакета fail2ban через dnf - Запуск службы и добавление в автозагрузку - Мониторинг журнала событий в реальном времени
Запуск мониторинга журнала Fail2ban
Настройка параметров защиты: - Создание файла customisation.local - Установка времени блокировки на 1 час - Определение глобальных параметров DEFAULT
Создание файла локальной конфигурации Fail2ban
Защита доступа по SSH: - Включение защиты для портов 22 и 2022 - Активация фильтров sshd и sshd-ddos - Настройка правил для обнаружения атак
Настройка защиты SSH в конфигурационном файле
Защита Apache: - Включение защиты от атак на аутентификацию - Активация фильтров для блокировки ботов - Защита от переполнений и скриптовых атак
Настройка защиты HTTP-служб Apache
Защита почтовой системы: - Активация защиты Postfix и Dovecot - Настройка фильтров для почтовой аутентификации - Защита от спама и RBL-атак
Настройка защиты почтовых служб Postfix и Dovecot
Применение изменений: - Перезапуск службы Fail2ban - Проверка журнала событий - Подтверждение корректной работы конфигураций
Перезапуск службы Fail2ban и проверка журнала
Мониторинг работы системы: - Проверка общего статуса Fail2ban - Просмотр статуса защиты SSH - Убеждение в активности всех настроенных фильтров
Проверка статуса Fail2ban и защиты SSH
Тонкая настройка: - Установка максимального количества попыток (maxretry = 2) - Настройка чувствительности системы защиты - Подготовка к тестированию блокировки
Настройка параметра maxretry для SSH
Проверка работы защиты: - Попытки входа с неверным паролем с клиента - Автоматическая блокировка IP-адреса после 2 попыток - Подтверждение блокировки через статус службы
Тестирование блокировки IP-адреса при неудачных попытках SSH
Ручное управление: - Разблокировка IP-адреса клиента - Проверка снятия блокировки - Мониторинг изменений в статусе защиты
Ручная разблокировка IP-адреса клиента
Исключение доверенных адресов: - Добавление IP-адреса клиента в ignoreip - Перезапуск службы для применения изменений - Проверка отсутствия блокировки для доверенного адреса
Добавление IP-адреса в белый список и проверка
Подготовка к автоматизации: - Создание структуры каталогов для конфигураций - Копирование файлов настроек в проект Vagrant - Организация файлов для скрипта установки
Подготовка конфигурационных файлов для проекта Vagrant
Разработка provisioning-скрипта: - Создание исполняемого bash-скрипта protect.sh - Включение установки пакетов и копирования конфигураций - Настройка прав доступа и автоматический запуск службы
Создание скрипта автоматической настройки protect.sh
Настройка автоматического развертывания: - Добавление вызова скрипта в Vagrantfile - Настройка порядка выполнения provisioning-шагов - Обеспечение автоматической защиты при создании виртуальной машины
Интеграция скрипта в конфигурацию Vagrantfile
Ключевые вопросы: - Принцип работы Fail2ban: Анализ логов → обнаружение атак → блокировка через firewall - Приоритет конфигураций: jail.local > jail.conf - Оповещения: Настройка через параметр action в конфигурации - Действия при блокировке: Блокировка IP, отправка уведомлений, выполнение команд - Управление: Статус через fail2ban-client status, разблокировка через unbanip
Результаты работы: - Успешно установлен и настроен Fail2ban для защиты сервера - Проверена работа системы через тестирование блокировки SSH-доступа - Настроена защита для SSH, HTTP и почтовых служб - Реализована автоматизация установки и настройки через скрипт Vagrant - Приобретены практические навыки защиты от атак типа «brute force»